package com.tang.gu.ob_01;
/*
 *
 * 编程实现Runner接口，提供一个描述奔跑行为的抽象方法。
 * 编程实现Hunter接口继承Runner接口，并提供一个描述捕猎行为的抽象方法。
 * 编程实现一个Father,编写一个eat方法
 * 编程实现Man类继承Father类重写eat方法，并同时实现Hunter接口并重写抽象方法，
 * 在main方法中使用多态方式测试
 * */

import com.tang.objectOriented.middleRank.poly_.detail_.Cat;
import com.tang.objectOriented.senior.interface_.UsbInterface;

public class test_man {
    //编写一个main方法
    public static void main(String[] args) {
        Runner runner=new Man();//向上转型: 父类的引用指向了子类的对象
        runner.run(); //实际运行类型是 man 输出就是  Man Override run()
        //Cat cat = (Cat) animal;//
        Father f=(Father) runner; //向下转型 子类类型 引用名 =（子类类型）父类引用;
        f.eat();//Father = eat()

        Man man=(Man) f; //向下转型 子类类型 引用名 =（子类类型）父类引用;
        man.run(); //实际运行类型是 man 输出就是  Man Override run()
        man.bulie();//实际运行类型是 man 输出就是  Man Override bulie()
        man.eat();//实际运行类型是 man 输出就是  Man Override eat()

    }
    public void work(Runner runner){
        //通过接口，来调用方法
        runner.run();
    }
}
